bors [Tue, 7 Mar 2017 15:24:52 +0000 (15:24 +0000)]
Auto merge of #3369 - joshtriplett:cargo-install-only-required-dependencies, r=alexcrichton
cargo fails if it can't find optional dependencies, even if corresponding feature not enabled
I have a directory registry containing all the crate sources needed to build an application crate (for instance, ripgrep), and a `$CARGO_HOME/config` file that looks like this:
```toml
[source.crates-io]
replace-with = "dh-cargo-registry"
[source.dh-cargo-registry]
directory = "/usr/share/cargo/registry/"
```
When I attempt to build ripgrep via "cargo install ripgrep" from that directory registry, I get this error:
```
error: failed to compile `ripgrep v0.3.1`, intermediate artifacts can be found at `/tmp/cargo-install.rmKApOw9BwAL`
Caused by:
no matching package named `simd` found (required by `bytecount`)
location searched: registry https://github.com/rust-lang/crates.io-index
version required: ^0.1.1
```
The directory registry indeed does not contain "simd"; however, bytecount doesn't require simd. It has an optional dependency on simd, and nothing enables the feature that requires that dependency.
Placing the simd crate sources into the directory registry allows ripgrep to build; the resulting build does not actually build the simd crate.
I can reproduce this by just trying to build the "bytecount" crate directly, using the same `$CARGO_HOME`:
```
error: no matching package named `simd` found (required by `bytecount`)
location searched: registry https://github.com/rust-lang/crates.io-index
version required: = 0.1.1
```
(Incidentally, that "version required" seems wrong: bytecount has an optional dependency on simd `^0.1.1`, not `=0.1.1`.)
However, this doesn't seem consistent with other crates in the same dependency tree. For instance, ripgrep also depends on clap, and clap has an optional dependency on yaml-rust, yet cargo does not complain about the missing yaml-rust.
I'd *guess* that the difference occurs because ripgrep has an optional feature `simd-accel` that depends on `bytecount/simd-accel`, so cargo wants to compute what packages it needs for that case too, even when building without that feature. (Similar to #3233.)
However, this makes it impossible to build a package while installing only the packaged dependencies for the enabled features. Could `cargo install` ignore any dependencies not actually required by the enabled feature? (That behavior would make no sense for "cargo build", which builds a Cargo.lock file that should remain consistent regardless of enabled features, but it makes sense for "cargo install cratename", which doesn't build a Cargo.lock file.)
bors [Mon, 6 Mar 2017 20:42:29 +0000 (20:42 +0000)]
Auto merge of #3795 - jryans:template-year, r=alexcrichton
Add year to project template variables
This adds the current year as a `year` variable for project templates. Some license files / headers include the year, so this should make it easier to include those in a template.
Josh Triplett [Thu, 2 Mar 2017 02:19:43 +0000 (18:19 -0800)]
In "cargo install" directly from registry, don't require optional dependencies
When building with a directory registry that contains only the subset of
crates required to build an application crate, cargo fails if that
subset doesn't include optional dependencies pulled in for every
possible feature of the root crate, even when the install doesn't enable
those features. This prevents Linux distributions from building with
a minimal set of dependencies (omitting, for instance, packages for
unstable/nightly features).
Introduce a new workspace flag "require_optional_deps", disabled for
install and enabled for everything else. Skip the initial
Method::Everything resolve in this case, and modify
resolve_with_previous to support running a Method::Required resolve
without a previous resolution.
This also skips adding path overrides, as those won't make sense (and
won't work) for an install directly from a registry.
Introduce a set of tests for "cargo install" directly from a directory
registry.
J. Ryan Stinnett [Mon, 6 Mar 2017 17:40:39 +0000 (11:40 -0600)]
Use time crate directly to get the year
bors [Mon, 6 Mar 2017 16:04:27 +0000 (16:04 +0000)]
Auto merge of #3799 - integer32llc:restore-generated-tests-module, r=alexcrichton
Restore the generated tests module created by `cargo new`
Appears to have been removed unintentionally in #3004.
Was just working on the book, ran `cargo new adder` with cargo-0.18.0-nightly (
6f1b860 2017-02-11), and got this in `src/lib.rs`:
```rust
#[test]
fn it_works() {
}
```
when I expected to get this:
```rust
#[cfg(test)]
mod tests {
#[test]
fn it_works() {
}
}
```
It looks like this was changed as part of #3004 ([removed](https://github.com/rust-lang/cargo/commit/
875a8aba7916b63c3c8464008a271f6082e23779#diff-149dd4362a3b0dc13b113762713119dfL477), [added](https://github.com/rust-lang/cargo/commit/
875a8aba7916b63c3c8464008a271f6082e23779#diff-149dd4362a3b0dc13b113762713119dfR678)), I'm assuming unintentionally?
The regression has not yet hit the beta channel; `cargo-0.17.0-nightly (
0bb8047 2017-02-06)` generates the src/lib.rs I expect.
Carol (Nichols || Goulding) [Sat, 4 Mar 2017 20:51:09 +0000 (15:51 -0500)]
Restore the generated tests module created by `cargo new`
Appears to have been removed unintentionally in #3004.
J. Ryan Stinnett [Fri, 3 Mar 2017 18:49:44 +0000 (12:49 -0600)]
Add year to project template variables
bors [Fri, 3 Mar 2017 15:40:30 +0000 (15:40 +0000)]
Auto merge of #3791 - sunng87:port-handlebars-to-serde, r=alexcrichton
Use serde type system for handlebars
This will help cargo to drop rustc_serialize as dependency (#3682). Handlebars actually supports using serde_json as its type system instead of rustc_serialize. And I'm planning to drop rustc_serialize in future releases.
Ning Sun [Fri, 3 Mar 2017 09:25:06 +0000 (17:25 +0800)]
Use serde type system for handlebars
This will help cargo to drop rustc_serialize as dependency
bors [Fri, 3 Mar 2017 08:05:43 +0000 (08:05 +0000)]
Auto merge of #3782 - alexcrichton:more-proc-macro, r=matklad
Accept proc_macro in addition to proc-macro
More historical behavior...
bors [Thu, 2 Mar 2017 03:27:25 +0000 (03:27 +0000)]
Auto merge of #3786 - joshtriplett:directory-registry-no-url, r=alexcrichton
tests/directory: Remove unnecessary dummy registry URL for crates.io
Older versions of cargo required this; current versions do not. All of
the tests still pass with it removed.
bors [Thu, 2 Mar 2017 02:10:56 +0000 (02:10 +0000)]
Auto merge of #3785 - joshtriplett:insulate-tests-from-user-env, r=alexcrichton
tests: Insulate from user git environment
Several tests in "cargo test" would fail if the user had any of the Git
environment variables set for name or email address, because those
environment variables would override the tested configuration. Filter
out those environment variables.
Josh Triplett [Wed, 1 Mar 2017 23:50:15 +0000 (15:50 -0800)]
tests: Insulate from user git environment
Several tests in "cargo test" would fail if the user had any of the Git
environment variables set for name or email address, because those
environment variables would override the tested configuration. Filter
out those environment variables.
Josh Triplett [Thu, 2 Mar 2017 00:35:42 +0000 (16:35 -0800)]
tests/directory: Remove unnecessary dummy registry URL for crates.io
Older versions of cargo required this; current versions do not. All of
the tests still pass with it removed.
bors [Wed, 1 Mar 2017 20:25:22 +0000 (20:25 +0000)]
Auto merge of #3767 - ehiggs:fix-init-bin-lib-section, r=alexcrichton
Fix for #3722
When using init, add [[bin]] and [lib] section where appropriate.
Alex Crichton [Wed, 1 Mar 2017 17:22:05 +0000 (09:22 -0800)]
Accept proc_macro in addition to proc-macro
More historical behavior...
bors [Wed, 1 Mar 2017 16:56:39 +0000 (16:56 +0000)]
Auto merge of #3779 - amotz:appveyor-url, r=alexcrichton
Fix AppVeyor badge URL
bors [Wed, 1 Mar 2017 15:05:45 +0000 (15:05 +0000)]
Auto merge of #3721 - alexcrichton:dupe-doctest, r=brson
Fix deps with `cargo test --all` and doctests
This commit fixes `cargo test --all` with the way we ship libraries to `rustdoc
--test`. I'm... not entirely sure what the previous incarnation was doing but
the current organization is to interpret `compilation.libraries` as a mapping
from a package to the list of crates it needs to link to test.
This updates the support in `cargo_rustc/mod.rs` to create the map appropriately
and tweaks the loop in `cargo_test.rs` as well.
Closes rust-lang/rust#39879
Alex Crichton [Thu, 16 Feb 2017 16:04:09 +0000 (08:04 -0800)]
Fix deps with `cargo test --all` and doctests
This commit fixes `cargo test --all` with the way we ship libraries to `rustdoc
--test`. I'm... not entirely sure what the previous incarnation was doing but
the current organization is to interpret `compilation.libraries` as a mapping
from a package to the list of crates it needs to link to test.
This updates the support in `cargo_rustc/mod.rs` to create the map appropriately
and tweaks the loop in `cargo_test.rs` as well.
Closes rust-lang/rust#39879
amotz [Wed, 1 Mar 2017 12:55:57 +0000 (21:55 +0900)]
Fix AppVeyor badge URL
bors [Wed, 1 Mar 2017 03:36:24 +0000 (03:36 +0000)]
Auto merge of #3775 - alexcrichton:version-info, r=alexcrichton
Prefer CARGO_PKG_* in version info
These are always set by Cargo and avoids rustbuild-building-cargo to need to
parse semver
bors [Wed, 1 Mar 2017 01:59:31 +0000 (01:59 +0000)]
Auto merge of #3699 - alexcrichton:sslop, r=brson
Add an option to ignore SSL revocation checking
This is apparently required in some Windows setups to get past SSL context
creation in schannel.
bors [Tue, 28 Feb 2017 22:28:06 +0000 (22:28 +0000)]
Auto merge of #3776 - alexcrichton:underscores, r=matklad
Accept more underscore variants in configuration
Preserving more historical behavior of the old TOML parser.
Alex Crichton [Tue, 28 Feb 2017 19:09:34 +0000 (11:09 -0800)]
Accept more underscore variants in configuration
Preserving more historical behavior of the old TOML parser.
Alex Crichton [Tue, 28 Feb 2017 17:45:08 +0000 (09:45 -0800)]
Prefer CARGO_PKG_* in version info
These are always set by Cargo and avoids rustbuild-building-cargo to need to
parse semver
bors [Tue, 28 Feb 2017 14:26:05 +0000 (14:26 +0000)]
Auto merge of #3771 - alexcrichton:read-more, r=matklad
Accept `default_features` for `default-features`
This was accepted by this historical TOML parser, so we'll need to preserve this
ability.
Closes #3768
bors [Mon, 27 Feb 2017 22:04:26 +0000 (22:04 +0000)]
Auto merge of #3770 - jbendig:issue_3762, r=alexcrichton
Fixes #3762
Fixes issue #3762. `cargo test` and `cargo bench` should no longer compile binaries with required features that have not been selected.
Alex Crichton [Mon, 27 Feb 2017 22:01:33 +0000 (14:01 -0800)]
Accept `default_features` for `default-features`
This was accepted by this historical TOML parser, so we'll need to preserve this
ability.
Closes #3768
Ewan Higgs [Mon, 27 Feb 2017 21:58:13 +0000 (22:58 +0100)]
Remove tab characters.
:bowing_man:
James Bendig [Mon, 27 Feb 2017 21:45:39 +0000 (15:45 -0600)]
Fixed compile failing because Resolve::features() no longer returns an Option.
James Bendig [Mon, 27 Feb 2017 21:19:34 +0000 (15:19 -0600)]
Fixed `cargo test` and `cargo bench` compiling binaries with required features that have not been selected.
Ewan Higgs [Mon, 27 Feb 2017 14:27:43 +0000 (15:27 +0100)]
Satisfy check-style.sh
Ewan Higgs [Mon, 27 Feb 2017 00:13:07 +0000 (01:13 +0100)]
Fix for #3722
When using init, add [[bin]] and [lib] section where appropriate.
bors [Mon, 27 Feb 2017 10:44:14 +0000 (10:44 +0000)]
Auto merge of #3760 - sanmai-NL:Cargo_new_gitignore_rustfmt_.rs.bk, r=alexcrichton
Add `src/**/*.rs.bk` to VCS ignore file
See #2409, specifically https://github.com/rust-lang/cargo/pull/2409#issuecomment-
281707650.
Also limit `target` exclusion to `target/` (dirs) as expected.
bors [Mon, 27 Feb 2017 05:49:15 +0000 (05:49 +0000)]
Auto merge of #3752 - matklad:always-artifacts, r=alexcrichton
Always produce artifact messages
This changes `artifact` messages in several ways:
* They are produced even for fresh builds
* They used the path after hard linking (@jsgf talked about it in the end of https://github.com/rust-lang/cargo/pull/3319#issuecomment-
263975431)
* Don't produce filenames if the compiler has not actually produced the binaries (`-Z-no-trans`).
Sander Maijers [Sun, 26 Feb 2017 13:31:55 +0000 (14:31 +0100)]
Exclude `*.rs.bk` files more liberally
This will cover them in different places as well, considering the default
[project layout](https://doc.crates.io/guide.html#project-layout).
Aleksey Kladov [Wed, 22 Feb 2017 08:36:44 +0000 (11:36 +0300)]
Produce artifacts JSON messages even for fresh builds
bors [Sat, 25 Feb 2017 07:32:31 +0000 (07:32 +0000)]
Auto merge of #3742 - matklad:sets-are-monoid, r=alexcrichton
Simplify feature-handling code
A neat (imo :) ) hack to use an empty `&HashSet` instead of `Option<&HashSet>`.
Sander Maijers [Fri, 24 Feb 2017 18:17:46 +0000 (19:17 +0100)]
Add `src/**/*.rs.bk` to VCS ignore file
Limit `target` exclusion to `target/` dirs.
bors [Thu, 23 Feb 2017 18:33:54 +0000 (18:33 +0000)]
Auto merge of #3758 - mbrubeck:docs, r=alexcrichton
Document that OUT_DIR is set during compilation for packages with build scripts
None
Matt Brubeck [Thu, 23 Feb 2017 18:30:49 +0000 (10:30 -0800)]
Document that OUT_DIR is set during compilation for packages with build scripts
Aleksey Kladov [Tue, 21 Feb 2017 13:54:27 +0000 (16:54 +0300)]
Simplify feature-handling code
Alex Crichton [Tue, 14 Feb 2017 15:44:21 +0000 (07:44 -0800)]
Add an option to ignore SSL revocation checking
This is apparently required in some Windows setups to get past SSL context
creation in schannel.
bors [Wed, 22 Feb 2017 18:35:39 +0000 (18:35 +0000)]
Auto merge of #3682 - alexcrichton:serde, r=brson
Migrate from rustc-serialize to Serde
This commit migrates Cargo as much as possible from rustc-serialize to
Serde. This not only provides an excellent testing ground for the toml
0.3 release but it also is a big boost to the speed of parsing the JSON
bits of the registry.
This doesn't completely excise the dependency just yet as docopt still
requires it along with handlebars. I'm sure though that in time those
crates will migrate to serde!
Alex Crichton [Fri, 10 Feb 2017 20:01:52 +0000 (12:01 -0800)]
Migrate from rustc-serialize to Serde
This commit migrates Cargo as much as possible from rustc-serialize to
Serde. This not only provides an excellent testing ground for the toml
0.3 release but it also is a big boost to the speed of parsing the JSON
bits of the registry.
This doesn't completely excise the dependency just yet as docopt still
requires it along with handlebars. I'm sure though that in time those
crates will migrate to serde!
bors [Wed, 22 Feb 2017 15:02:02 +0000 (15:02 +0000)]
Auto merge of #3733 - llogiq:clippy, r=alexcrichton
some clippy-suggested improvements
This fixes a number of [clippy](https://github.com/Manishearth/rust-clippy) warnings. It's mostly about readability, though a few changes could affect performance (though probably not measurably).
I've left out things to fix later; I thought I'd just push the first batch to see if you like it.
bors [Wed, 22 Feb 2017 01:56:06 +0000 (01:56 +0000)]
Auto merge of #3743 - jbendig:required_features_doc, r=alexcrichton
Improved required-features docs
This should make it more clear about what happens when not all of the required features are selected.
bors [Wed, 22 Feb 2017 00:09:07 +0000 (00:09 +0000)]
Auto merge of #3738 - hiseni:master, r=alexcrichton
add help email mention to the policies page
Update policies page to include help email address mention as described here: rust-lang/crates.io#522 :slightly_smiling_face:
bors [Tue, 21 Feb 2017 22:20:12 +0000 (22:20 +0000)]
Auto merge of #3735 - king6cong:clean, r=alexcrichton
make code more readable
bors [Tue, 21 Feb 2017 20:29:29 +0000 (20:29 +0000)]
Auto merge of #3734 - king6cong:typo, r=alexcrichton
typo fix
bors [Tue, 21 Feb 2017 18:12:24 +0000 (18:12 +0000)]
Auto merge of #3731 - alexcrichton:check-all, r=matklad
Add `cargo check --all`
This'll check all `build` targets for all packages in a workspace
James Bendig [Tue, 21 Feb 2017 17:22:32 +0000 (11:22 -0600)]
Changed wording for required-features docs to be more clear that missing features means the target is skipped.
bors [Tue, 21 Feb 2017 16:15:07 +0000 (16:15 +0000)]
Auto merge of #3708 - matklad:assert-tests, r=alexcrichton
Assert that we don't build test project twice.
Discussed in https://github.com/rust-lang/cargo/pull/3691#discussion_r100878827.
I've modify the offending tests to be more explicit about recreating projects.
bors [Tue, 21 Feb 2017 14:27:29 +0000 (14:27 +0000)]
Auto merge of #3737 - jbendig:issue_3727, r=alexcrichton
Fixed required-features not working with dependencies' features.
This should fix issue #3727.
@sgrif suggested making the documentation more clear as well. Should I submit a separate pull request or add a commit for that?
Bogdan Arabadzhi [Tue, 21 Feb 2017 04:41:14 +0000 (07:41 +0300)]
add help email mention to the policies page
Andre Bogus [Sun, 19 Feb 2017 23:45:34 +0000 (00:45 +0100)]
improved formatting for bonus points
James Bendig [Mon, 20 Feb 2017 20:51:43 +0000 (14:51 -0600)]
Fixed some lines being over 100 characters.
James Bendig [Mon, 20 Feb 2017 19:31:03 +0000 (13:31 -0600)]
Fixed required-features not working with dependencies' features for issue #3727.
king6cong [Mon, 20 Feb 2017 11:30:15 +0000 (19:30 +0800)]
make code more readable
king6cong [Mon, 20 Feb 2017 07:24:24 +0000 (15:24 +0800)]
typo fix
Andre Bogus [Sun, 19 Feb 2017 23:45:34 +0000 (00:45 +0100)]
improved formatting for bonus points
Andre Bogus [Sat, 18 Feb 2017 12:01:10 +0000 (13:01 +0100)]
some clippy-suggested improvements
Aleksey Kladov [Sat, 18 Feb 2017 06:34:38 +0000 (09:34 +0300)]
Fix recompilation test for mac
On macs, mtime has a seconds granularity, so we need to sleep a bit
bors [Sat, 18 Feb 2017 06:21:39 +0000 (06:21 +0000)]
Auto merge of #3723 - king6cong:doc, r=alexcrichton
remove legacy doc
bors [Sat, 18 Feb 2017 05:06:59 +0000 (05:06 +0000)]
Auto merge of #3730 - froydnj:cargo-version-dash-fix, r=alexcrichton
use space, not dash, in `cargo --version` output
#3604 inadvertently changed the output format of `cargo --version`:
```
froydnj@hawkeye:~/src/cargo.git$ ./target/x86_64-unknown-linux-gnu/release/cargo --version
cargo-0.17.0-dev (
ae4a4d8 2017-01-27)
froydnj@hawkeye:~/src/cargo.git$ cargo --version
cargo 0.16.0-nightly (
6e0c18c 2017-01-27)
```
Note the dash between cargo and the version number in the newer version.
Let's put the space back to not break things that might depend on the
`--version` output.
bors [Fri, 17 Feb 2017 20:56:08 +0000 (20:56 +0000)]
Auto merge of #3715 - saghm:master, r=alexcrichton
Fix typo in code example
Alex Crichton [Fri, 17 Feb 2017 17:09:23 +0000 (09:09 -0800)]
Add `cargo check --all`
This'll check all `build` targets for all packages in a workspace
bors [Fri, 17 Feb 2017 18:38:07 +0000 (18:38 +0000)]
Auto merge of #3716 - matklad:multi-tests, r=alexcrichton
Allow to run several integration tests
It's useful to be able to run several, but not all, test targets at once (especially in the IDE, where you want to select a bunch of files and command "run these!"). This seems to work, but obviously needs some tests. `Options` `struct` already supports several targets.
Nathan Froyd [Fri, 17 Feb 2017 16:44:44 +0000 (11:44 -0500)]
use space, not dash, in `cargo --version` output
#3604 inadvertently changed the output format of `cargo --version`:
```
froydnj@hawkeye:~/src/cargo.git$ ./target/x86_64-unknown-linux-gnu/release/cargo --version
cargo-0.17.0-dev (
ae4a4d8 2017-01-27)
froydnj@hawkeye:~/src/cargo.git$ cargo --version
cargo 0.16.0-nightly (
6e0c18c 2017-01-27)
```
Note the dash between cargo and the version number in the newer version.
Let's put the space back to not break things that might depend on the
`--version` output.
bors [Fri, 17 Feb 2017 16:24:06 +0000 (16:24 +0000)]
Auto merge of #3729 - alexcrichton:remove-caching, r=alexcrichton
Disable caches on AppVeyor/Travis
They just seem to grow without bound and cause problems unfortunately :(
Alex Crichton [Fri, 17 Feb 2017 16:23:23 +0000 (08:23 -0800)]
Disable caches on AppVeyor/Travis
They just seem to grow without bound and cause problems unfortunately :(
Aleksey Kladov [Fri, 17 Feb 2017 07:04:30 +0000 (10:04 +0300)]
Document that `cargo test` only compiles example
king6cong [Fri, 17 Feb 2017 03:57:52 +0000 (11:57 +0800)]
remove legacy doc
bors [Thu, 16 Feb 2017 20:08:18 +0000 (20:08 +0000)]
Auto merge of #3717 - king6cong:clean, r=alexcrichton
remove unnecessary code
bors [Thu, 16 Feb 2017 17:36:26 +0000 (17:36 +0000)]
Auto merge of #3719 - alexcrichton:curl-sys, r=alexcrichton
Update libz-sys
Try to fix AppVeyor CI
Alex Crichton [Thu, 16 Feb 2017 17:35:35 +0000 (09:35 -0800)]
Update libz-sys to fix AppVeyor CI
Needs a fix for msys instead of Windows paths
Aleksey Kladov [Thu, 16 Feb 2017 16:46:39 +0000 (19:46 +0300)]
Add tests for testing several targets
Aleksey Kladov [Thu, 16 Feb 2017 11:18:55 +0000 (14:18 +0300)]
Revive dependency recompilation test
king6cong [Thu, 16 Feb 2017 07:11:51 +0000 (15:11 +0800)]
remove unnecessary code
Aleksey Kladov [Thu, 16 Feb 2017 10:17:30 +0000 (13:17 +0300)]
Allow to run several integration tests
Saghm Rossi [Wed, 15 Feb 2017 22:52:25 +0000 (17:52 -0500)]
Fix typo in code example
bors [Wed, 15 Feb 2017 22:47:05 +0000 (22:47 +0000)]
Auto merge of #3714 - alexcrichton:update-git2, r=alexcrichton
Update libgit2
Pull in a fix for #3610
Alex Crichton [Wed, 15 Feb 2017 22:16:12 +0000 (14:16 -0800)]
Update libgit2
Pull in a fix for #3610
Aleksey Kladov [Wed, 15 Feb 2017 14:16:41 +0000 (17:16 +0300)]
Assert that we don't build test project twice.
That may work on linux and fail on windows, so it's better to proactively verify it.
bors [Wed, 15 Feb 2017 17:43:01 +0000 (17:43 +0000)]
Auto merge of #3710 - seppo0010:one-file-too-many, r=alexcrichton
Fix dupe word in documentation
Sebastian Waisbrot [Wed, 15 Feb 2017 17:27:58 +0000 (14:27 -0300)]
Fix dupe word in documentation
bors [Wed, 15 Feb 2017 15:18:36 +0000 (15:18 +0000)]
Auto merge of #3707 - king6cong:handle_stderr, r=alexcrichton
fix arg name
king6cong [Wed, 15 Feb 2017 10:10:28 +0000 (18:10 +0800)]
fix arg name
bors [Tue, 14 Feb 2017 21:50:54 +0000 (21:50 +0000)]
Auto merge of #3701 - matklad:rel-manifest-path, r=alexcrichton
Normalize ws root path
closes #3586
r? @alexcrichton
Aleksey Kladov [Tue, 14 Feb 2017 20:04:24 +0000 (23:04 +0300)]
Normalize ws root path
closes #3586
bors [Tue, 14 Feb 2017 19:46:26 +0000 (19:46 +0000)]
Auto merge of #3700 - matklad:faster-test, r=alexcrichton
Don't use real serde in tests
This test used to take 1.5 minutes on my machine (without significant CPU usage however), now it finishes in a couple of seconds. I don't fully understand what is tested here, but I suppose we don't really need serde.
Aleksey Kladov [Tue, 14 Feb 2017 19:40:48 +0000 (19:40 +0000)]
Don't use real serde in tests
bors [Tue, 14 Feb 2017 03:03:16 +0000 (03:03 +0000)]
Auto merge of #3692 - malbarbo:test-args, r=alexcrichton
Pass multiples --test-args to the tester
Like --cfg, --test-args accept multiple matches, we should use it and
avoid some unexpected behavior joinning the arguments with space.
bors [Tue, 14 Feb 2017 01:14:36 +0000 (01:14 +0000)]
Auto merge of #3691 - matklad:run-pkg, r=alexcrichton
cargo run supports --package argument
closes #3529
bors [Mon, 13 Feb 2017 23:23:39 +0000 (23:23 +0000)]
Auto merge of #3689 - ms705:master, r=alexcrichton
More intuitive CARGO_INCREMENTAL semantics
Currently, the mere presence of a `CARGO_INCREMENTAL` variable in the environment causes incremental compilation to be enabled. This has the very counterintuitive effect that `CARGO_INCREMENTAL=0` and even `CARGO_INCREMENTAL=` mean incremental compilation is *on*.
This PR brings the semantics in line with how they are defined in the tests (cf. [tests/build.rs:45](https://github.com/rust-lang/cargo/blob/master/tests/build.rs#L45)), and in [public-facing documentation](https://internals.rust-lang.org/t/incremental-compilation-beta/4721).
See also [rust#39773](https://github.com/rust-lang/rust/issues/39773) for an example of this causing confusion in the wild.
bors [Mon, 13 Feb 2017 21:05:47 +0000 (21:05 +0000)]
Auto merge of #3684 - casey:search-copy-pastafication, r=alexcrichton
Increase copypastafication of `cargo search`
Formats the search results printed by `cargo search` so that they can be
copied directly into a `Cargo.toml` file.
I used `^`, since I like being explicit, although that seems not to be the convention, so I'd be happy to remote it.
I also added a `#` in front of the description, so that that can be copy pastaed as well. I'm not super attached to this idea, but I think it's interesting, since it would serve to document what the various dependencies of a crate are for new contributors.
For example:
```
$ cargo search clap
clap = "^2.20.3" # A simple to use, efficient, and full featured Command Line ArgumentParser
please-clap = "^0.1.0" # Pattern-match against Clap subcommands and arguments.
clapcomp = "^0.1.5" # clap completion generator as command
clap-test = "^0.1.1" # functions and macros to assist in testing clap
structopt = "^0.0.2" # Parse command line argument by defining a struct.
capgun = "^0.1.1" # fire when ready file watcher
structopt-derive = "^0.0.2" # Parse command line argument by defining a struct, derive crate.
cargo-outdated = "^0.3.0" # Cargo subcommand for displaying when dependencies are out of date
wesers = "^0.4.1" # a simple HTTP/HTTPS server in Rust
cargo-arch = "^0.1.0" # Rust Arch Linux package packer
... and 6 crates more (use --limit N to see more)
```
Aleksey Kladov [Mon, 13 Feb 2017 16:02:27 +0000 (19:02 +0300)]
cargo run supports --package argument
closes #3529
bors [Mon, 13 Feb 2017 18:48:08 +0000 (18:48 +0000)]
Auto merge of #3693 - alexcrichton:improve, r=alexcrichton
Rework some required-features tests
Don't delete the build dir as this ends up being flaky on Windows.
Alex Crichton [Mon, 13 Feb 2017 17:59:36 +0000 (09:59 -0800)]
Rework some required-features tests
Don't delete the build dir as this ends up being flaky on Windows.
Marco A L Barbosa [Mon, 13 Feb 2017 17:34:29 +0000 (15:34 -0200)]
Pass multiples --test-args to the tester
Like --cfg, --test-args accept multiple matches, we should use it and
avoid some unexpected behavior joinning the arguments with space.